Conventional musical tone-generating apparatuses include a hardware musical tone-generating apparatus which uses hardware to generate musical tones, and a software musical tone-generating apparatus which causes a computer to execute a musical tone-generating program to generate musical tones.
FIG. 25 shows an example of the arrangement of the conventional hardware musical tone-generating apparatus. In FIG. 25, a CPU (Central Processing Unit) 110 supplies music contents data 111, such as MIDI (Musical Instrument Digital Interface) data and SMAF (Synthetic Music Mobile Application Format) data, referred to hereinafter, to a hardware tone generator 115. In this case, the MIDI data and SMAF data may be transferred from the outside of the apparatus, or read from a storage means of the apparatus. The hardware tone generator 115 includes a sequencer 132, and a tone generator section implemented by hardware. The sequencer 132 has hardware-specific control data-generating section 132a which converts the MIDI data and the SMAF data to control data specific to the hardware tone generator 115, and a time management section 132b which manages the timing of sounding musical tones based on time management information contained in the data.
In the hardware musical tone-generating apparatus constructed as above, the time management section 132b instructs the hardware-specific control data-generating section 132a to output data in timing based on interval data indicative of time intervals between events contained in the control data and gate time data indicative of a sounding time period. Responsive to the instruction, the hardware-specific control data-generating section 132a delivers the hardware-specific control data generated thereby to the tone generator section 133. The tone generator section 133 generates musical tones based on the supplied hardware-specific control data. Thus, the musical tones are reproduced.
FIG. 26 shows an example of the arrangement of the conventional software musical tone-generating apparatus. In FIG. 26, a CPU 210 includes a sequencer function means 232 which is realized by a sequencer program executed by the CPU 210. The sequencer means 232 is comprised of a hardware-specific control data-generating means 232a, and a time management means 232b. The hardware-specific control data-generating means 232a which converts MIDI data and SMAF data 211 to control data specific to a hardware tone generator 215, while the time management means 232b controls the timing of sounding musical tones. It should be noted that the MIDI data and the SMAF data converted by the hardware-specific control data-generating means 232a may be transferred from the outside of the apparatus or read from a storage means of the apparatus. Further, the hardware tone generator 215 which generates musical tones from the hardware-specific control data includes a tone generator section 233 implemented by hardware.
In the software musical tone-generating apparatus thus constructed, to reproduce musical tones, the time management means 232b of the CPU 210 instructs the hardware-specific control data-generating means 232a to output data in timing based on duration data indicative of time intervals between events, and gate time data indicative of a sounding time period, both of which data are contained in the converted hardware-specific control data. Responsive to the instruction, the hardware-specific control data-generating means 232a delivers the hardware-specific control data generated thereby to the hardware tone generator 215. In the hardware tone generator 215, the tone generator section 233 generates and outputs musical tones based on the hardware-specific control data supplied. The musical tones are thus reproduced by the software musical tone-generating apparatus.
However, in the hardware musical tone-generating apparatus which is a musical tone-generating apparatus implemented by hardware, the sequencer 132 executes the conversion of the musical contents data and time management, which complicates the construction of the sequencer 132, resulting in an increased circuit size of the sequencer, and hence increased manufacturing costs.
Further, in the software musical tone-generating apparatus which is a musical tone-generating apparatus implemented by software, the CPU 210 carries out the conversion of musical contents data and time management, which imposes a large burden on the CPU 210, and hence a high-speed CPU is required. Particularly, when the CPU executes other processing with higher importance, such as communication control, as its main function, an expensive high-speed CPU is required to carry out the processing of the sequencer.
Further, the conventional hardware tone-generating apparatus and the conventional software tone-generating apparatus starts reproduction of a musical piece from the head thereof. This causes the inconvenience that when the musical piece is reproduced as incoming call music for a cellular phone or the like, only the leading portion of the musical piece can be heard.